FIG. 1 depicts a schematic diagram of an IEEE 802.11-compliant wireless local area network, which comprises: station 101-1, station 101-2, which is an access point, and station 101-3. The communications between station 101-1, station 101-2, and station 101-3 occur within a shared-communications channel, and, therefore, a medium access control protocol is used to allocate usage of the channel among the stations.
In accordance with the IEEE 802.11 standard, one medium access control protocol used by the stations is carrier sense multiple access. In accordance with carrier sense multiple access, a station desiring to transmit a frame first listens to the channel and transmits only when it fails to sense another transmission.
For the purposes of this specification, the “potency” of a transmitted frame is defined as the effective spatial reach of the transmitted frame. As is well-known to those skilled in the art, the potency of a frame can be adjusted by the transmitter and is affected by the energy per bit at which the frame is transmitted. When, as in FIG. 1, each station is within the transmission range of every other station, carrier sense multiple access works well. In contrast, when every station is not within transmission range of every other station, as in FIG. 2, carrier sense multiple access might not work as well. For example, when station 201-1 transmits a Frame, station 201-3 will not sense it, and, therefore, might begin a transmission that prevents station 201-2 from correctly receiving either transmission. This is known as the “hidden” node problem.
The IEEE 802.11 standard addresses the hidden node problem with a mechanism known as Request-to-Send/Clear-to-Send. The message flow associated with the Request-to-Send/Clear-to-Send mechanism is depicted in FIG. 3.
In accordance with the Request-to-Send/Clear-to-Send mechanism, station 201-1 sends a Request-to-Send Frame at time t0 to all of the stations within its transmission range (i.e., station 201-2). The Request-to-Send Frame contains a duration value that extends through the duration of the Clear-to-Send Frame and any Data and Acknowledgement Frames that station 201-1 expects will be transmitted as part of its request. All of the stations within the transmission range of station 201-1 receive and decode the Request-to-Send Frame to recover the value in the duration field. The value in the duration field is then used to populate a timer, called the Network Allocation Vector, which indicates how long those stations are to refrain from transmitting, regardless of whether they sense a transmission in the channel or not.
In response to the receipt of the Request-to-Send Frame, station 201-2 transmits a Clear-to-Send Frame at time t2 to all of the stations within its transmission range (i.e., station 201-1 and station 201-3). The Clear-to-Send Frame contains a duration value that extends through the duration of any Data and Acknowledgement Frames that station 201-1 desires to transmit. All of the stations within the transmission range of station 201-2 receive and decode the Request-to-Send Frame to recover the value in the duration field. The value in the duration field is then used to populate their Network Allocation Vector.
In this way, the Request-to-Send/Clear-to-Send mechanism addresses the hidden node problem by ensuring that station 201-3 will not transmit while station 201-1 is transmitting its Data Frame to station 201-2.